Real-Time Operating Systems (RTOSs) in aerospace applications may rely on the concept of time partitioning in order to certify that the RTOS executes tasks within an identified worst case execution time. For example, one RTOS uses static fixed time window schedules. An alternative approach uses rate-monotonic (RM) scheduling and slack scheduling to provide greater flexibility for dynamic task execution while still maintaining time determinism.
In multi-core platforms, characterizing and bounding cross core interference is critical in determining the worst case execution time and therefore budgets, where the budgets form the basis for time partitions. However, in multi-core platforms, the schedulability of the multiple threads is not always guaranteed. Accordingly, in a multi-core RTOS, it is not always possible to provide multi-core RTOS mechanisms whereby a task-set executing on different cores is limited to satisfy time determinism yet also allowing flexibility and dynamism.